// 商品秒杀

import { defineStore } from 'pinia'
import { getSeckillApi,addSeckillApi,delSeckillApi,editSeckillApi } from '../api/seckillApi'
import { ElMessage } from 'element-plus'

const useSeckillsStore = defineStore('seckills', {
  state: () => {
    return {
      seckillsList: [], // 数据列表
      dialogVisible: false, // 对话框
    }
  },
  actions: {
    // 获取秒杀数据
    getSeckillsAction() {
      getSeckillApi().then(res => {
        // console.log(res,'秒杀数据-----')
        if(res.code === 200) {
          this.seckillsList = res.list
        } else {
          console.log(res.msg,'秒杀数据获取失败------')
        }
      })
    },
    // 新增
    addSeckillsAction(data) {
      addSeckillApi(data).then(res => {
        // console.log(res,'新增秒杀-------')
        if(res.code === 200) {
          ElMessage({
            type: 'success',
            message: '新增成功'
          })
          // 重新获取数据
          this.getSeckillsAction()
        } else {
          ElMessage({
            type: 'error',
            message: res.msg
          })
        }
      })
    },
    // 删除
    delSeckillsAction(id) {
      delSeckillApi(id).then(res => {
        // console.log(res,'删除秒杀--------')
        if(res.code === 200) {
          ElMessage({
            type: 'success',
            message: '删除成功'
          })
          // 重新获取数据
          this.getSeckillsAction()
        } else {
          ElMessage({
            type: 'error',
            message: res.msg
          })
        }
      })
    },
    // 编辑
    editseckillsAction(data) {
      editSeckillApi(data).then(res => {
        // console.log(res,'编辑秒杀-------')
        if(res.code === 200) {
          ElMessage({
            type: 'success',
            message: '编辑成功'
          })
          // 重新获取数据
          this.getSeckillsAction()
        } else {
          ElMessage({
            type: 'error',
            message: res.msg
          })
        }
      })
    },
    // 关闭对话框
    closeDialog() {
      this.dialogVisible = false
    },
    // 打开对话框
    openDialog() {
      this.dialogVisible = true
    }
  }
})

export default useSeckillsStore
